package me.jessyan.mvparms.demo.mvp.model;


import android.app.Application;
import android.database.Observable;

import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;

import javax.inject.Inject;

import me.jessyan.mvparms.demo.mvp.contract.UserContract;
import me.jessyan.mvparms.demo.mvp.model.entity.BaseJson;
import me.jessyan.mvparms.demo.mvp.model.entity.ParamJson;
import me.jessyan.mvparms.demo.mvp.model.entity.User;
import retrofit2.http.Body;

@ActivityScope
public class UserModel extends BaseModel implements UserContract.Model {
    private Gson mGson;
    private Application mApplication;

    @Inject
    public UserModel(IRepositoryManager repositoryManager, Gson gson, Application application) {
        super(repositoryManager);
        this.mGson = gson;
        this.mApplication = application;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        this.mGson = null;
        this.mApplication = null;
    }




    @Override
    public Observable<BaseJson<User>> Login(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<User>> LoginByCode(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<User>> RegisterUser(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<String>> sendSMS(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<String>> checkSMS(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<User>> GetUserDetailInfo(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<String>> EditUserDetailInfo(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<String>> EditPassword(@Body ParamJson param) {
        return null;
    }

    @Override
    public Observable<BaseJson<String>> ForgetPassword(@Body ParamJson param) {
        return null;
    }
}